Шаблоны встроенного языка
О шаблонах
Шаблоны — это фрагменты текста на встроенном языке, которые можно использовать при написании модулей.
- Стандартные шаблоны
— это фиксированный набор шаблонов, который хранится внутри 1C:EDT. Можно использовать эти шаблоны, но изменять их или удалять нельзя; - Пользовательские шаблоны
— эти шаблоны можно импортировать, изменять, удалять, создавать собственные.

-
- Шаблоны 1C:EDT и шаблоны проекта

-
Пользовательские шаблоны могут храниться в двух местах:
- В рабочей области — можно использовать один набор шаблонов для нескольких проектов;
- В проекте — можно использовать один набор шаблонов для всей команды, которая разрабатывает проект.
- Шаблоны 1C:EDT и шаблоны проекта
Вставить шаблон в модуль
Шаблоны можно вставлять в модули с помощью контекстной подсказки, нажимая Ctrl+Пробел.
На первой странице контекстной подсказки 1C:EDT предложит вам те шаблоны, в имени которых содержится строка, введенная вами в модуле.

На второй странице контекстной подсказки (повторное нажатие Ctrl+Пробел) расположены все пользовательские шаблоны и обработчики событий, доступные в модуле.

Шаблоны встроенного языка могут содержать переменные. После вставки шаблона в модуль переменные заменяются маркерами. Например, следующий шаблон:
Если ТипЗнч(${Редактировать()}) = Тип("${ВыборТипа()}") Тогда
${Редактировать()}
КонецЕсли;
после вставки в модуль будет иметь такой вид (стрелками отмечены маркеры):

Можно перемещаться между маркерами, нажимая Tab и Shift+Tab. В первом маркере вы можете вводить текст, а при переходе на второй маркер 1C:EDT откроет диалог выбора типа.
Добавить, экспортировать, импортировать шаблоны
Чтобы добавлять, редактировать или удалять шаблоны, нужно открыть один из списков шаблонов.
-
- Открыть список пользовательских шаблонов

-
- Чтобы открыть список шаблонов рабочей области в главной панели основного окна нажмите ;
- Чтобы открыть список шаблонов проекта в панели Навигатор нажмите в контекстном меню проекта.
В обоих случаях список шаблонов выглядит одинаково и предоставляет одинаковую функциональность.
- Импортировать шаблоны

-
Можно импортировать шаблоны «1С:Предприятия» из .st-файла. Например, если вы создавали собственные шаблоны для платформы. В этом случае они будут автоматически конвертированы в формат шаблонов 1C:EDT.
- Экспортировать шаблоны

-
Шаблоны можно экспортировать в .txt-файл. Для этого:
- Откройте список шаблонов;
- Удерживая Ctrl выберите мышью те шаблоны, которые вы хотите экспортировать (нажмите Ctrl+A чтобы выбрать все);
- Нажмите Экспортировать...;
- Выберите каталог, в который нужно сохранить файл, введите имя файла вместе с расширением;
- Нажмите Сохранить.
- Открыть список пользовательских шаблонов
Примеры использования переменных
-
- ВыборТипа

-
Переменную ${ВыборТипа()} можно использовать в тех случаях, когда требуется ввести тип некоторого значения.
- Выбрать

-
Переменная ${Выбрать()} предлагает выбрать одно из перечисленных значений. Например, в операторе открытия формы требуется указать тип открываемой формы или конкретное имя формы. Набор этих вариантов ограничен и его можно перечислить в переменной ${Выбрать()}.
- ЗначениеПеречисления

-
Переменную ${ЗначениеПеречисления()} можно использовать, например, для выбора предопределенного значения на клиенте.
- ИмяОбъектаМетаданного

-
Переменная ${ИмяОбъектаМетаданного()} позволяет выбрать имя объекта конфигурации, его реквизита, табличной части и других подчиненных объектов. Например, в операторе открытия формы требуется указать имя объекта конфигурации, форму которого необходимо открыть.
- МетодИВызов

-
Переменную ${МетодИВызов()} можно использовать, например, для создания шаблона, который суммирует результаты двух функций.
${Редактировать(СуммаФункций)} = ${МетодИВызов(ПерваяФункция, Функция, Парам1)} + ${МетодИВызов(ВтораяФункция, Функция, Парам2)};Например, такой шаблон вставляется в следующую процедуру.

В результате внутри процедуры будет вставлен оператор присваивания, а снаружи процедуры созданы две функции.

При обходе маркеров 1C:EDT предложит выбрать один из доступных контекстов, в котором будет исполняться каждая функция.

Кроме этого 1C:EDT предложит использовать модификатор Асинх.

Второй параметр переменной определяет, какой метод будет создан: Функция или Процедура. Соответственно, если необходимо вставить вызов процедуры, шаблон может выглядеть следующим образом.
${МетодИВызов(МояПроцедура, Процедура, парам1, парам2)};В результате в модуль будет добавлена процедура и ее вызов.

- Редактировать

-
Следующий шаблон показывает особенности использования переменной ${Редактировать()}:
Процедура ${Редактировать("Имя процедуры")}() ${Редактировать("")} КонецПроцедуры // ${Редактировать("Имя процедуры")}()Значение параметра Имя процедуры используется, во-первых, как подсказка для ввода. Оно отображается в маркере после вставки шаблона.

Во-вторых маркеры, соответствующие переменным с одинаковым значением параметра, связываются между собой. В результате, когда вы вводите текст в один из таких маркеров, он автоматически появляется и во втором маркере.

Переменная без указания параметра используется просто как указатель на то место, в которое нужно установить курсор для ввода текста.

- ВыборТипа














